#ifndef __TOYM__BASE__NONCOPYABLE_H__
#define __TOYM__BASE__NONCOPYABLE_H__

namespace toym
{

class noncopyable {
public:
    noncopyable(const noncopyable&) = delete;
    noncopyable& operator=(const noncopyable&) = delete;
protected:
    noncopyable() = default;
    noncopyable(noncopyable&&) = default;
    noncopyable& operator=(noncopyable&&) = default;
};

} // namespace toym


#endif // __TOYM__BASE__NONCOPYABLE_H__